﻿using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CBS.Model.ManageModel
{
    public class StudentSignStatementViewModel
    {
        public string StudentName { get; set; }
        public string GradeName { get; set; }
        public string SemesterName { get; set; }
        public string CoursePlanName { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public decimal Payable { get; set; }
        public decimal Payment { get; set; }
        public decimal BeforeAmount { get; set; }

        public List<SignUpCoursePlan> CoursePlan { get; set; }
        public List<CourseSignDetail> CourseSignDetail { get; set; }
        public List<StudentPaymentDetail> StudentPaymentDetail { get; set; }
    }


    public class CourseSignDetail 
    {
        public string CourseName { get; set; }

        public List<LessonDetail> LessonDetail { get; set; }

        public List<SignDetail> SignDetail { get; set; }
    }

    public class SignUpCoursePlan
    {
        public int CourseId { get; set; }
        public string CourseName { get; set; }
    }

    public class SignDetail 
    {
        public string CourseName { get; set; }
        public DateTime SignDetailStartTime { get; set; }
        public DateTime SignDetailEndTime { get; set; }

        //是否是试听课
        public bool IsTaster { get; set; }

        //是否是补课
        public bool IsSupplement { get; set; }

        //学生可能在A班报到，临时在B班上课，所以班级加到实际上课数据里面
        public string ClassName { get; set; }
    }

    public class LessonDetail 
    {
        public string CourseName { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
    }

    public class StudentSignStatementQueryModel 
    {
        public int CoursePlanId { get; set; }
        public string CoursePlanName { get; set; }
        public int SemesterId { get; set; }
        public string SemesterName { get; set; }
        public int GradeId { get; set; }
        public string GradeName { get; set; }
        public int ClassId { get; set; }
        public string ClassName { get; set; }
        public int CourseId { get; set; }
        public string CourseName { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime EndTime { get; set; }
        public int TeacherId { get; set; }
        public string TeacherName { get; set; }
        public int StudentId { get; set; }
        public string StudentName { get; set; }
        public bool IsTaster { get; set; }
        public bool IsSupplement { get; set; }
    }


    public class StudentPaymentDetail
    {
        public int StudentId { get; set; }
        public int TeacherId { get; set; }
        public string TeacherName { get; set; }
        public decimal Payment { get; set; }
        public decimal BeforeAmount { get; set; }
        public DateTime PayTime { get; set; }

    }
}
